package cn.sfrog.project.biz.admin.service;


import cn.sfrog.project.biz.admin.domain.BizBanner;
import cn.sfrog.project.biz.admin.domain.vo.BizBannerFormVO;
import cn.sfrog.project.biz.admin.domain.vo.BizBannerQueryVO;
import cn.sfrog.project.biz.admin.domain.vo.BizBannerVO;
import cn.sfrog.project.biz.web.vo.index.AppBannerResultVO;
import cn.sfrog.system.domain.vo.BizStatusChangeVO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 广告轮播图Service接口
 */
public interface IBizBannerService extends IService<BizBanner> {
    /**
     * 查询广告轮播图
     *
     * @param id 广告轮播图主键
     * @return 广告轮播图
     */
    public BizBannerVO selectBizBannerById(Long id);

    /**
     * 查询广告轮播图列表
     *
     * @param query 广告轮播图
     * @return 广告轮播图集合
     */
    public List<BizBannerVO> selectBizBannerList(BizBannerQueryVO query);

    /**
     * 新增广告轮播图
     *
     * @param form 广告轮播图
     * @return 结果
     */
    public boolean insertBizBanner(BizBannerFormVO form);

    /**
     * 修改广告轮播图
     *
     * @param form 广告轮播图
     * @return 结果
     */
    public boolean updateBizBanner(BizBannerFormVO form);

    /**
     * 批量删除广告轮播图
     *
     * @param ids 需要删除的广告轮播图主键集合
     * @return 结果
     */
    public boolean deleteBizBannerByIds(Long[] ids);

    /**
     * 更改状态
     *
     * @param vo 更改状态表单
     * @return 结果
     */
    boolean changeStatus(BizStatusChangeVO vo);

    /**
     * 查询首页轮播图
     * @return
     */
    List<AppBannerResultVO> selectAppIndexBannerList();

}
